எளிய தமிழில் PHP
இரா.கதிர்வேல்
எளிய தமிழில் PHP
இரா.கதிர்வேல்
PHP இணைய தளங்களை அட்டகாசமான வசதிகளோடு உருவாக்கும் ஒரு சிறந்த, ஆனால் மிக எளிய நுட்பம். விக்கிப்பீடியா, வேர்டுபிரஸ் போன்ற பல முக்கிய வலைத்தளங்கள் இந்த மொழியிலேயே உருவாக்கப் பட்டுள்ளன.
இதை, இந்த நூல் எளிமையாக அறிமுகம் செய்கிறது.
தமிழில் கட்டற்ற மென்பொருட்கள் பற்றிய தகவல்களை "கணியம்" மின் மாத இதழ், 2012 முதல் வெளியிட்டு வருகிறது.இதில் வெளியான PHP பற்றிய கட்டுரைகளை இணைத்து ஒரு முழு புத்தகமாக வெளியிடுவதில் பெரு மகிழ்ச்சி கொள்கிறோம்.
உங்கள் கருத்துகளையும், பிழை திருத்தங்களையும் [email protected] க்கு மின்னஞ்சல் அனுப்பலாம்.
http://kaniyam.com/learn-php-in-tamil-ebook என்ற முகவரியில் இருந்து இந்த நூலை பதிவிறக்கம் செய்யலாம். உங்கள் கருத்துகளையும் இங்கே பகிரலாம்.
படித்து பயன் பெறவும், பிறருடன் பகிர்ந்து மகிழவும் வேண்டுகிறோம்.
கணியம் இதழை தொடர்ந்து வளர்க்கும் அனைத்து அன்பர்களுக்கும் எமது நன்றிகள்.
த.சீனிவாசன்
ஆசிரியர்
கணியம்
எளிய தமிழில் PHP
முதல் பதிப்பு பிப்ரவரி 2016
பதிப்புரிமம் © 2016 கணியம்.
ஆசிரியர் - இரா.கதிர்வேல் - [email protected]
பிழை திருத்தம்: த.சீனிவாசன் - [email protected]
வடிவமைப்பு: த.சீனிவாசன்
அட்டைப்படம் - மனோஜ் குமார் - [email protected]
இந்த நூல் கிரியேடிவ் காமன்ஸ் என்ற உரிமையில் வெளியிடப்படுகிறது . இதன் மூலம், நீங்கள்
யாருடனும் பகிர்ந்து கொள்ளலாம்.
திருத்தி எழுதி வெளியிடலாம்.
வணிக ரீதியிலும்யன்படுத்தலாம்.
ஆனால், மூலப் புத்தகம், ஆசிரியர் மற்றும் www.kaniyam.com பற்றிய விவரங்களை சேர்த்து தர வேண்டும். இதே உரிமைகளை யாவருக்கும் தர வேண்டும். கிரியேடிவ் காமன்ஸ் என்ற உரிமையில் வெளியிட வேண்டும்.
நூல் மூலம் :
http://static.kaniyam.com/ebooks/learn-php-in-tamil/learn-php-in-tamil.odt
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 Unported License.
முன்னுரை
தமிழ்வழி கல்வியில் படித்தவர்கள் ஒரு தொழில்நுட்பத்தைக் கற்றுக்கொள்ள வேண்டும் என ஆசைப்படும் போது அவர்கள் கற்றுக்கொள்ள விரும்பும் தொழில்நுட்பம் தமிழிலேயே இருக்கும் பட்சத்தில் அவர்களால் அதை நன்கு புரிந்துகொண்டு எளிமையாக கற்றுக்கொள்ள முடியும். தமிழ் மொழி தெரிந்தவர்கள் ஒன்றை கற்றுக்கொள்ள வேண்டும் என நினைக்கும் போது, ஆங்கிலம் அதற்கு தடையாக இருக்கக்கூடாது. தற்போது ஆங்கிலம் அதற்கு தடையாக இருப்பதாக நான் நினைக்கிறேன். இந்நிலையில் அந்த தடையை உடைக்க என்னால் முடிந்த பங்களிப்பை இந்த புத்தகத்தின் மூலமாக அளித்திருக்கிறேன். இன்றைக்கு எதற்கெடுத்தாலும் இணையத்தை நாடிச்செல்லும் நிலைமை வந்து விட்டது. அப்படிப்பட்ட இணையத்தில் எது தொடர்பாக தமிழில் தேடினாலும் தகவல்கள் கிடைக்க வேண்டும். அந்த நிலைமையை நாம் அனைவரும் இணைந்து உருவாக்க வேண்டும்.
நான் சென்னைக்கு வேலைதேடி வந்தபோது PHP Developer ஆக வேலைக்குச் செல்லவேண்டும் எனும் முடிவில் HTML, CSS, JavaScript, Bootstrap, jQuery ஆகியவைகளைப் பற்றி படித்துக்கொண்டிருந்தேன். இவைகளை படித்து முடித்துவிட்டு அதன்பிறகு PHP பற்றி படிக்கலாம் என நினைத்துக்கொண்டிருந்தேன். கணியம் இதழின் ஆசிரியர், ஸ்ரீனிவாசன் அவர்களிடம் நான் வேலைக்குச் செல்வது தொடர்பான ஆலோசனைகளை கேட்பதற்காக. சென்னைக்கு வந்துள்ளது தொடர்பாகவும், PHP தொடர்பாக படித்துக்கொண்டிருப்பதையும் தெரிவித்தேன். "அப்படியா மகிழ்ச்சி, அப்படியே PHP யைப் பற்றி கணியத்திற்கு கட்டுரைகள் எழுதிக்கொடுங்கள்" எனக் கூறினார். தினமும் காலை 11-மணியிலிருந்து இரவு 7-மணி வரை ஒரு வாரத்திற்கு தீவிரமாக கட்டுரைகளை எழுதி கணியத்திற்கு அனுப்பி வைத்தேன். அடுத்த ஒரு சில வாரங்களில் எதிர்பாராத விதமாக நான் Python Developer ஆக பணியில் சேர்ந்துவிட்டதால் அதன்பிறகு மீதமிருந்த ஒரு சில பகுதிகளை எழுதிமுடிக்கமுடியவில்லை. நேரம் கிடைக்கும் போதெல்லாம் கொஞ்சம் கொஞ்சமாக அனைத்து பகுதிகளையும் எழுதி முடித்து கணியம் இதழிற்கு அனுப்பி வைத்தேன். அந்த அனைத்து பகுதிகளும் கணியத்தில் வெளியிடப்பட்டு, அவைகள் தொகுக்கப்பட்டு இப்போது புத்தகமாக வெளிவந்துள்ளது. PHP பற்றி கணியம் இதழில் எழுத வாய்ப்பளித்து, ஊக்கமளித்த ஸ்ரீனிவாசன் அவர்களுக்கும், கணியம் இதழுக்கும், கணியம் குழுவினருக்கும் என மனமார்ந்த நன்றியையும் தெரிவித்துக்கொள்கிறேன்.
ஒரு நல்ல நோக்கத்திற்காக பலர் இணைந்து ஒரு செயலைச் செய்யும் போது அந்த குழுவில் நாமும் இருந்தோம் என்பது எவ்வளவு பெருமையான விஷயம். அந்தவகையிலே கணியம் குழுவில் நானும் இணைந்திருப்பது பெருமையாக இருக்கிறது. கணியம் மிகப்பெரிய நோக்கத்துடன் இயங்கிக்கொண்டிருக்கிறது. அந்த நோக்கத்தின் சிறிய பங்களிப்பாக PHP பற்றிய தொடர்களை கணியத்தில் எழுதினேன்.
இந்த தொடரை எழுதுவதற்கு பல வழிகளிலும் எனக்கு உதவி செய்த என்னுடைய வழிகாட்டிகள் அன்பு(எ)மணிகன்டண், அண்ணன் வை.சிதம்பரம், சோம.நீலகண்டன் ஆகியோருக்கும், சென்னையில் நான் தங்கியிருக்கும் என் அறை நண்பர்கள் கார்த்திக், வினோத், மணிமாறன், மதன், வெங்கட் ஆகியோருக்கும், அலுவலக நண்பர்கள் கிருஷ்ணன், ராஜாசிங், பிரபாகரன், வினோத், முத்துராஜ் ஆகியோருக்கும் எனது மனமார்ந்த நன்றியை தெரிவித்துக்கொள்கிறேன்.
இரா.கதிர்வேல்
சித்தாதிக்காடு,
28.12.2015
வலைப் பதிவு: http://gnutamil.blogspot.in
மின்னஞ்சல்: [email protected]
பொருளடக்கம்
முன்னுரை 6
1 PHPயின் வரலாறு 16
1.1 PHPயின் வரலாறு 16
1.2 PHP உருவான விதம் 16
1.3 PHP 3 யின் வெற்றி 18
1.4 PHP 4 - விஸ்பரூபம் 18
1.5 PHP 5 – Object Orientation , Error Handling and XML 18
1.6 PHP பிரபலமாக உள்ளது எப்படி? 19
2 PHP அறிமுகம் 20
2.1 PHP என்றால் என்ன? 20
2.2 PHP -யால் என்னென்னவெல்லாம் செய்ய முடியும்? 20
2.3 ஏன் PHP? 21
2.4 PHP எப்படி வேலை செய்கிறது? 21
2.5 PHP ஏன் மிகவும் பயனுள்ளதாக இருக்கிறது? 25
3 LAMP Server -ஐ உபுண்டு 12.04 -ல் நிறுவுதல் 26
3.1 முதல் படி: 26
3.2 Apache Server -னை சோதனை செய்து பார்க்க: 28
3.3 PHP - யினை சோதனை செய்து பார்க்க: 29
4 PHP Script உருவாக்குதல் 31
4.1 PHP Script உருவாக்குதல் 31
4.2 PHP நிரல் எழுத தேவையானவைகள்: 31
4.3 PHP நிரல் வரம்புச்சுட்டி (Code Delimiters): 31
4.4 PHP உங்கள் கணினியில் நிறுவப்பட்டுள்ளதா? 32
4.5 PHP நிரல் பொதிதல் முறைகள்: 35
5 Comments - குறிப்புரைகள் 38
5.1 ஒற்றைவரி குறிப்புரை: 39
5.2 பலவரி குறிப்புரை: 40
6 மாறிகள் (Variables) 41
6.1 மாறிகளுக்கு பெயர் வைத்தல்: 41
6.2 மாறிகளுக்கு மதிப்புகளை அளித்தல்: 42
6.3 மாறிகளின் மதிப்புகளை அணுகுதல்: 43
6.4 PHP மாறியினுடைய வகையை மாற்றுதல்: 44
6.5 மாறி மதிப்புகளை வைத்திருக்கிறதா என சோதித்தல்(Check Whether a variable is set): 45
7 PHP மாறி வகைகள்: 47
7.1 முழு எண் மாறி வகை (Integer Variable Type): 47
7.2 மிதவை எண் மாறி வகை (Float Variable Type): 47
7.3 பூலியன் வகை மாறி (Boolean Variable Type): 48
7.4 சர மாறி வகை (String Variable Type): 49
8 மாறிலி (Constants) 51
8.1 மாறிலியை வரையறுத்தல் (Defining a Constant): 51
8.2 முன் வரையறுக்கப்பட்ட மாறிலிகள் (Predefined Constants): 53
9 Operators (வினைக்குறி) 57
9.1 எண்கணி மற்றும் வழங்குதல் வினைக்குறிகள் (Assignment Operators): 58
9.2 கணித வினைக்குறிகள் (Arithmetic Operators): 61
9.3 ஒப்பீடு வினைக்குறி (Comparison Operators): 62
9.4 ஏரண வினைக்குறிகள் (Logical Operators): 64
9.5 ஏறுமான மற்றும் இறங்குமான வினைக்குறிகள் (Increment and Decrement Operators): 64
9.6 சரத்தொடர் இணைப்பு வினைக்குறி (String Concatenation Operator): 66
9.7 செயற்படுத்தும் வினைக்குறி – வழங்கியில் கட்டளைகளை செயற்படுத்துதல் (Execution Operator – Executing Server Side Commands) 66
10 Flow Control and Looping 68
10.1 Conditional Statements 68
10.2 கண்ணி கூற்றுகள் ( Looping Statements) 72
10.3 switch கூற்று (switch statements) 77
10.4 கண்ணி முறிப்பு (Breaking a Loop): 81
11 Functions 84
11.1 Function (செய்லகூறு) என்றால் என்ன? 84
11.2 செயல்கூறை(function) எப்படி எழுதுவது? 84
11.3 செயல்கூறில் இருந்து மதிப்புகள் திரும்புதல் (Returning a Value from a function) 86
11.4 செயல்கூறுக்கு அளபுருக்களை செலுத்துதல் (passing parameters to a function) 86
11.5 செயல்கூறை அழைத்தல் (calling functions) 87
11.6 Passing Parameters by Reference 89
11.7 Functions and Variable Scope 91
12 Arrays 93
12.1 Numerical Array 93
12.2 Associative Array 94
12.3 Array உருவாக்குதல் (Creating a Array) 94
12.4 Empty Array உருவாக்கம் (empty array creation) 94
12.5 Array - யின் உறுப்புகளை அணுகுதல் 95
12.6 Associative Array யை உருவாக்குதல் (Creating an Associative Array) 96
12.7 Associative Array – யின் உறுப்புகளை அணுகுதல் (Accessing Elements of an Associative Array) 96
12.8 Array சுட்டியைப் பயன்படுத்துதல்(Using Array Pointers) 97
12.9 Array யின் உறுப்புகளை மாற்றுதல், சேர்த்தல் மற்றும் நீக்குதல்(Changing, Adding and Removing Array Elements) 98
12.10 Looping மூலம் array – யின் உறுப்புகளை அணுகுதல்(Looping through array Elements) 103
12.11 Replacing Sections of an Array 105
12.12 Array - யை வரிசைப்படுத்துதல். 105
12.13 Associative Array - யை வரிசைப்படுத்துதல் 109
12.14 Array – யைப் பற்றிய தகவல்களைப் பெறுதல் மற்றும் இதர array செயல்கூறுகள்(functions) 110
13 Working with Strings and Text in PHP 111
13.1 எழுத்துக்களை மாற்றுதல் (Changing the Case of a PHP String) 111
13.2 ASCII மதிப்புக்கு மாற்றுதல் மற்றும் ASCII மதிப்புகளிலிருந்து மாற்றுதல் 113
13.3 வடிவுறு சரங்களை அச்சிடுதல் (Printing Formatted Strings) 117
13.4 சரத்தின் நீளத்தை கண்டுபிடித்தல் (Finding the Length of a String) 118
13.5 சரத்தை Arrayயாக மாற்றுதல் (Converting a String into a Array) 119
13.6 சரத்தின் முன்னும் பின்னும் இருக்கக்கூடிய whitespaceஐ நீக்குதல் (Removing Leading and Trailing Whitespace from a String) 120
13.7 சரங்களை ஒப்பிடுதல் (Comparing Strings) 121
13.8 சரத்தை அணுகுதல் மற்றும் மாற்றுதல் (Accessing and Modifying Characters in String) 122
13.9 சரத்திற்குள் உருவை தேடுதலும் , பகுதிச்சரமாக பிரித்தலும் (Searching for Characters and Substrings in a String) 123
13.10 Extracting and Replacing Substrings 124
13.11 Replacing All Instances of a Word in a String 126
14 கோப்பு முறைமையும், கோப்புகள் உள்ளீடும் / வெளியீடும் (File systems and File I/O) 128
14.1 கோப்புகளை திறத்தலும் உருவாக்குதலும் (Opening and Creating Files) 128
14.2 கோப்புகளை மூடுதல் (Closing Files) 129
14.3 கோப்பில் எழுதுதல் (Writing to a File) 130
14.4 கோப்பிலிருந்து தகவல்களைப் படித்தல் (Reading From a File) 132
14.5 கோப்பு இருக்கிறதா என சோதித்தல் (Checking Whether a File Exists) 132
14.6 கோப்புகளை பிரதியெடுத்தல், நகர்த்துதல் மற்றும் அழித்தல் (Moving, Copying and Deleting Files) 133
14.7 கோப்புகளின் பண்புகளை அணுகுதல்(Accessing File Attributes) 134
14.8 வெளியீட்டு வைப்பகம் (Output Buffering) 136
15 அடைவுகளுடன் பணியாற்றுதல் (Working with Directories) 139
15.1 புதிதாக அடைவுகளை உருவாக்குதல் (Creating Directories) 139
15.2 அடைவை நீக்குதல் (Deleting Directory) 141
15.3 Finding and Changing the Current Working Directory 142
15.4 அடைவிற்குள் இருக்கும் கோப்புகளை பட்டியலிடுதல் (Listing Files in a Directory) 143
16 HTML Forms ஒரு பார்வை 144
16.1 HTML படிவங்கள் உருவாக்குதல் (Creating HTML Forms) 144
16.2 HTML Text Object (உரை பொருள்) 145
16.3 HTML TextArea Object (உரைப்பகுதி பொருள்) 147
16.4 The HTML Button Object (பொத்தான் பொருள்) 148
16.5 HTML check Boxes 150
16.6 HTML Radio Button 151
16.7 HTML Drop-down / Select Object 152
16.8 HTML Password Object 155
17 PHP and HTML Forms 156
17.1 படிவம் உருவாக்குதல் (Creating the Form) 156
17.2 PHP ஐ பயன்படுத்தி படிவத்தின் தகவலை Process செய்தல் (Processing Form Data Using PHP) 158
17.3 Processing Multiple Selections with PHP(பல தேர்வுகளை செயல்படுத்துதல்) 160
18 PHP and Cookies – Creating, Reading and Writing (குக்கீஸ் உருவாக்குதல், படித்தல் மற்றும் எழுதுதல்) 163
18.1 குக்கீஸ் 163
18.2 The Difference Between Cookies and Sessions (Cookies and Sessions இரண்டிற்குமான வேறுபாடு) 164
18.3 குக்கீயினுடைய அமைப்பு (The Structure of Cookie) 164
18.4 குக்கீஸ் காலாவதியாகும் நேரத்தை அமைத்தல்(Cookie Expiration Setting) 165
18.5 குக்கீயின் பாதை அமைப்பு(Cookie path Setting) 165
18.6 குக்கீ domain அமைப்பு(Cookie domain Setting) 165
18.7 குக்கீயின் பாதுகாப்பு அமைப்பு(Cookie Security Setting) 166
18.8 குக்கீ உருவாக்குதல்(Creating a Cookie in PHP) 166
18.9 குக்கீயினைப் படித்தல்(Reading a Cookie in PHP) 167
18.10 குக்கீயை அழித்தல்(Deleting a Cookie) 168
19 அமர்வு (Understanding PHP Sessions) 170
19.1 Session என்றால் என்ன? 170
19.2 PHP Session உருவாக்குதல் (Creation a PHP Session) 170
19.3 Session மாறிகளை உருவாக்குதல் மற்றும் படித்தல்(Creating and Reading Session Variables) 171
19.4 Session தகவல்களை கோப்பில் எழுதுதல்(Writing Session Data to a File) 173
19.5 கோப்பில் சேமிக்கப்பட்ட session தகவல்களை படித்தல் (Reading Saved Session) 175
20 பொருள் நோக்கு நிரலாக்கம் (Object Oriented Programming) 176
20.1 Object என்றால் என்ன? 176
20.2 Class என்றால் என்ன? 176
20.3 Class –லிருந்து Object ஐ உருவாக்குவது எப்படி? 176
20.4 sub-classing என்றால் என்ன? 177
20.5 PHP class ஐ வரையறை செய்தல் 177
20.6 PHP class உருவாக்குதல் மற்றும் சிதைத்தல் (class constructors and destructors) 178
20.7 PHP class இல் உறுப்பினர்கள்(members) உருவாக்குதல் 180
20.8 Methods ஐ வரையறை செய்தல் மற்றும் அழைத்தல்(Defining and Calling Methods) 182
20.9 Subclassing in PHP 184
20.10 ChildClass மூலமாக ParentClass இன் method ஐ பயன்படுத்திக்கொள்ளுதல் 185
20.11 PHP Object Serialization 186
20.12 PHP Object பற்றிய தகவல்களைப் பெறுதல் 187
21 PHP யும் தரவுத்தளமும் (Using PHP with MySQL) 190
21.1 PHP உடன் MySQL ஐ இணைத்தல் (Connect with PHP to a MySQL Server) 190
21.2 MySQL தரவுதளத்திலிருந்து PHP மூலமாக பதிவேடுகளை(Record) தேர்வு செய்தல் (Selecting Records from a MySQL Database Using PHP): 192
21.3 பதிவேட்டில் தகவல்களை சேர்த்தல் Adding Records to MySQL Database using PHP 193
21.4 Using PHP to get Information about a MySQL Database 194
22 PHP மற்றும் SQLite (PHP and SQLite) 197
22.1 PHP வழியாக SQLite Database உருவாக்குதல் (Creating an SQLite Database with PHP) 197
22.2 PDO (PHP Data Objects) மூலமாக SQLite DB ஐ உருவாக்குதல் 197
22.3 PHP மூலமாக SQLite இல் Table உருவாக்குதல் (Using PHP to Create Table to an SQLite Database) 198
22.4 Using PHP to Add Records to an SQLite Database 199
22.5 PHP மூலமாக Records களை தேர்வு செய்தல் (Using PHP to Select Records from an SQLite Database) 200
23 முடிவுரை 203
24 ஆசிரியர் பற்றி 205
25 கணியம் பற்றி 207
இலக்குகள் 207
பங்களிக்க 207
விண்ணப்பங்கள் 208
வெளியீட்டு விவரம் 209
26 நன்கொடை 210
PHPயின் வரலாறு
PHPயின் வரலாறு
பிரச்சனைகள் ஏற்படும் போதே அதன் தீர்வுகளும் தேடப்படுகிறது. எங்கு தேடியும் தீர்வுகள் கிடைக்காத பட்சத்தில், அதற்கான தீர்வை தாமாகவே முயன்று கண்டுபிடிப்பர். அவருக்கு ஏற்பட்ட அந்த பிரச்சனை வேறு ஒருவருக்கு ஏற்படும் போது, மற்றவர்களுக்கும் அவரைப் போல கஷ்டபடாமல் இருப்பதற்காக, கண்டுபிடித்த அந்த தீர்வை அனைவரும் தெரிந்து கொள்ளுவதற்காக இலவசமாக கிடைக்கும் வகையில் ஏற்பாடு செய்கிறார்.
மற்றவர்களும் அந்த தொழில்நுட்பத்தை(தீர்வு) ஏற்றுக்கொண்டு அதை மெருகேற்றும் போது அந்த தீர்வை கண்டுபிடித்தவரே கற்பனை செய்ய முடியாத அளவிற்கு அந்த தொழில்நுட்பம் வளர்ந்து நிற்கும்.
PHP
PHP உருவான விதம்
PHP யின் முதல் பதிப்பு 1995ஆம் ஆண்டு Ramus Lerdof அவர்களால் உருவாக்கப்பட்டது. Rasmus தற்போது Yahoo நிறுவனத்தில் பொறியாளராக பணிபுரிந்து வருகிறார். அவருடைய இணையதளத்தை எளிமையாக உருவாக்க HTML உடன் இணைந்து நன்றாக வேலை செய்யும் ஏதோ ஒன்று தேவைப்பட்டது. முக்கியமாக இணைய உலாவியிலிருந்து வழங்கிக்கு தகவல்களை அனுப்பவும், வழங்கியில் இருந்து இணைய உலாவியில் தகவல்களைப் பெறவும் எளிமையான ஒரு தொழில்நுட்பம் அல்லது மொழி தேவைப்பட்டது.
அந்த தேவையை பூர்த்தி செய்யும் வகையில் Perl மொழியினைக் கொண்டு ஒரு தொழில்நுட்பத்தை உருவாக்கினார். அந்த தொழில்நுட்பத்திற்கு அவர் இட்ட பெயர் ‘Personal Home Page / Form Interpreter’. Rasmus Lerdof அவர்கள் உருவாக்கிய அத்தகைய தொழில்நுட்பம் இணைய உள்ளடக்கங்களையும், இணைய படிவங்களையும் செயல்முறைப்படுத்துவதற்கா வசதியான வழிகளை ஏற்படுத்தி கொடுத்தது.
‘Personal Home Page / Form Interpreter’ என்னும் பெயர் பின்பு PHP/FI என்று சுருக்கி அழைக்கப்பட்டது. இறுதியாக ‘PHP: Hypertext Preprocessor’ என பெயர் மாற்றம் செய்யப்பட்டது. ‘GNU’s Not Unix’ என்பது எப்படி GNU என்று சுருக்கமாக அழைக்கப்படுகிறதோ, அதே போல ‘PHP: Hypertext Preprocessor’ என்பதும் PHP என்று சுருக்கமாக அழைக்கப்படுகிறது.
PHP/FI யின் முதல் பதிப்பு(Version 1.0) Rasmus அவர்களுடைய சொந்த இணையதளத்தைத் தாண்டி வேறு எங்கும் பயன்படுத்தப்படவில்லை. காரணம் அவரினுடைய சொந்த தேவைக்காக அவர் அதை உருவாக்கினார். PHP/FI 2.0 னுடைய அறிமுகம் அதை மாற்ற தொடங்கியது.
ஆனால் PHP 3 பதிப்பு 1997ஆம் ஆண்டு வெளியிடப்பட்ட போது அனைவரின் நம்பிக்கையையும் சுக்குநூறாக்கி யாரும் எதிர்பாராத விதமாக PHP அனைவரின் மத்தியிலும் புகழ் பெற்றது.
PHP 3 யின் வெற்றி
1997 ஆம் ஆண்டு வாக்கில் இணையதளங்களின் வளர்ச்சி அசுர வேகமெடுத்தது. அவ்வாறு வளர்ச்சி பெற்ற இணையதளங்கள் அதே சமயத்தில் Apache Web Server –ஐ பயன்படுத்தி வந்தன. அதே காலகட்டத்தில்தான் PHP யின் அடுத்த கட்ட வளர்ச்சிக்காக Andy Gutmans மற்றும் Zeev Suraski ஆகிய இருவரும் PHP 3 திட்டத்தை அறிமுகப்படுத்தினர். குறிப்பாக Apache Web Server உடன் PHP இணைந்து செயல்படும் விதமாக PHP வலிமையாக உருவாக்கி வெளியிடப்பட்டது.
அதேசமயத்தில்PHP + Apache Web Server கூட்டணி வெற்றியை நோக்கி பயணித்தது. இணைய உலகில் 10% க்கு மேலான இணையதளங்கள் PHP தங்களுடைய இணையதளத்தில் பயன்படுத்த ஆரம்பித்தன.
PHP 4 - விஸ்பரூபம்
Andi Gutmans and Zeev Suraski ஆகிய இருவராலும் PHP 3மறுபடியும் மெருகேற்றப்பட்டது. PHP3-இன் மெறுகேற்றப்பட்ட பதிப்பு PHP4 ஆக வெளிவந்தது. அவ்வாறு கட்டமைக்கப்பட்ட PHP4 ஒரு சிறிய தொழில்நுட்பத்துடன் வெளிவந்தது. அவ்வாறு இணைக்கப்பட்ட அந்த சிறிய தொழில்நுட்பம் Zend Engine என்று அழைக்கப்பட்டது.
மெருகேற்றப்பட்ட அம்சங்கள்:
மற்ற இணைய வழங்கிகளுக்கு ( Microsoft’s Internet Information Server – IIS ) ஆதரவு அளிக்கும் வகையில் உருவாக்கப்பட்டது.
நினைவக மேலாண்மையை திறம்பட செய்தல்
பெரிய திட்டங்கள், வணிக பயன்பாடு மற்றும் mission critical பயன்பாடுகளுக்கு ஆதரவு
PHP 5 – Object Orientation , Error Handling and XML
OOP க்கு ஆதரவளிக்கும் வகையில் மேலும் மெருகேற்றப்பட்டது. Java, Python போன்று மற்ற மொழிகளில் உள்ளது போல try/catch error and exception handling வசதிகள் ஏற்படுத்தப்பட்டது. தரவுகளை கையாளுதல் குறிப்பாக XML மற்றும் SQLite போன்றவைகளை கையாளுதல் மற்றும் தரவுதளத்துடன் இணைந்து பணியாற்றுவதற்கான எளிய வழிமுறைகள் போன்ற வசதிகள் கொண்டு வரப்பட்டது.
PHP பிரபலமாக உள்ளது எப்படி?
PHP என்பது ஒரு Server Side Scripting மொழி (Language) என்பது நாம் அனைவரும் அறிந்த ஒன்றே. PHP இணைய பயன்பாடிற்காக வடிவமைக்கப்பட்டிருந்தாலும் அது ஒரு பொதுப் பயன்பாட்டிற்கான மொழியாகவும், அனைவராலும் விரும்பி பயன்படுத்தப்பட்டு வருகிறது. இன்றைக்கு இருக்கக்கூடிய அனைத்து இணைய வழங்கிகளிலுமே Apache+PHP உள்ளது. புதிதாக நிறுவப்படும் இணையவழங்கிகளில் PHP என்பது தவிர்க்க முடியாத ஒன்றாக உள்ளது. 2013 ஆம் ஆண்டில் எடுக்கப்பட்ட புள்ளிவிபர கணக்குப்படி, 240மில்லியனுக்கு (1மில்லியன்=10லட்சம், 240மில்லியன்=240000000) அதிகமான இணையதளங்களில் PHP பயன்படுத்தப்பட்டு வருகிறது. 2.1 மில்லியன் இணைய வழங்கிகளில் PHP நிறுவப்பட்டு உள்ளது.
Perl, Python போன்ற மொழிகளை கற்றவர்கள், PHP–ஐ கற்றுக்கொள்வது என்பது மிகவும் எளிது. அதுபோல எளிமையான Syntax, அனைத்து தகவல்தளங்களுடனும் ஒத்து இயங்குவது மற்றும் பாதுகாப்பு அம்சங்கள் மிகுந்திருப்பது என பல்வேறு அம்சங்கள் PHP – இல் இருப்பதால், இன்றைய இணைய உலகில் Web Developement ற்கு தகுந்த மொழியாக PHP பிரபலமடைந்துள்ளது.
PHP அறிமுகம்
PHP என்றால் என்ன?
PHP என்பது ஒரு Server Side Scripting language. எளிமையாக சொல்ல வேண்டுமானால் உங்களுக்கு ஒரு புத்தகம் தேவைப்படுகிறது. அதை இணையமூலம் வாங்குவதற்காக ஏதோ ஒரு பதிப்பகத்தின் இணையதளத்திற்கு செல்கிறீர்கள். அந்த பதிப்பகத்தின் இணையதளம் PHP மூலம் உருவாக்கப்பட்டதெனில். அந்த இணைதளத்தில் செய்யும் அனைத்து வேலைகளும் உங்களுடைய கணினியில் (Client Side) Process ஆகாமல், பதிப்பகத்தின் இணையதளம் எந்த வெப் சர்வரில்(Server Side) இருக்கிறதோ அங்கு Process செய்யப்பட்டு உங்களுக்கு தேவையான விபரங்களை இணையதளம் கொடுக்கும். அவ்வாறு Server இல் செயல்படுத்தப்படும் நிரல்கள் Server Side Scripting Language எனப்படும். PHP நிரல்கள் அனைத்தும் Server Side இல் Process செய்யப்படுவதால். PHP ஒரு server side scripting language ஆகும்.
Ruby, Python, Perl ஆகிய மொழிகளும் Server Side Scripting Language ஆக பயன்படுத்தப்படுகிறது. அதுபோலவே PHP யும் இருந்தாலும், PHP சில தனிச்சிறப்புகளைக் கொண்டுள்ளது. அது என்னவெனில் நம்முடைய இணையதள உருவாக்க வேலைகளை எளிமையாக செய்வதெற்கென நிறைய Extension களை வைத்திருக்கிறது.
குறிப்பாக Database இல் தகவல்களை சேமிப்பதற்கும், Database இல் இருக்கும் தகவல்களை இணையதளத்தின் மூலம் பெறுவதற்கும், இணையதளங்களை Dynamic ஆக வடிவமைக்கவும், Content களை திறம்பட கையாள்வதற்கும் மிகவும் எளிமையான வழிகளை PHP கொண்டுள்ளது. அதனால் மேற்காணும் வேலைகளை நாம் மற்ற மொழிகளில் செய்வதை விட PHP யில் எளிமையாக செய்யலாம்.
PHP -யால் என்னென்னவெல்லாம் செய்ய முடியும்?
Dynamic Page Content களை உருவாக்க முடியும்.
Web Server இல் கோப்புகளை உருவாக்குதல், அழித்தல், நீக்குதல், திறத்தல், எழுதுதல் ஆகியவைகளை செய்ய முடியும்.
படிவத்தின் தகவல்களை (Form Data) சேகரிக்க முடியும்.
Cookies களை அனுப்ப மற்றும் பெய முடியும்.
தகவல்தளத்தில் (Database) தகவல்களை சேர்த்தல், நீக்குதல், மாற்றுதல் ஆகியவைகளை செய்ய முடியும்.
பயனர்களினுடைய (Users) செயல்பாடுகளை கட்டுப்பாட்டிற்குள் வைக்க முடியும்.
தகவல்களை Encrypt செய்ய முடியும்.
HTML ஆக மட்டுமில்லாமல், Images, PDF Files, Flash Movies XML, XHTML ஆகிய வடிவங்களிலும் வெளியீடுகளை கொண்டு வர முடியும்.
ஏன் PHP?
பல்வேறு இயங்குதளங்களில் PHP – ஐ இயக்க முடியும். (உதாரணமாக. Windows, Linux, Unix, Mac OS X, etc…)
இன்றைக்கு பயன்பாட்டில் உள்ள அனைத்து Server (Apache, IIS, etc ) களுடனும் ஒத்து இயங்கக்கூடியது.
MySQL, SQLite, Postgres, Oracle, MS SQL போன்ற அனைத்து தகவல்தளங்களையும் PHP ஆதரிக்கிறது.
PHP என்பது அனைவருக்கும் இலவசம். PHP யினுடைய அதிகாரப்பூர்வமான இணைதளத்தில்(www.php.net) இருந்து அனைவரும் இலவசமாகவே தரவிறக்கம் செய்து கொள்ளலாம்.
கற்றுக்கொள்ள எளிமையான மொழியாகவும், Server Side இல் சிறப்பாக இயங்க்ககூடிய மொழியாகவும் PHP இருக்கிறது.
PHP எப்படி வேலை செய்கிறது?
பயனர் தன்னுடைய கணினியில் இருக்கும் இணைய உலாவியைத் திறந்து, உலாவியினுடைய முகவரிப்பட்டையில் இணையதளத்தின் முகவரியை கொடுத்து இயக்கும் போது, உலாவி வலைப்பக்கத்தின் பிரதியை கேட்டு இணைய வழங்கிக்கு கோரிக்கை அனுப்புகிறது.
இணைய வழங்கி அந்த கோரிக்கையை பெற்றுக்கொண்டு அந்த வலைப்பக்கத்தினை தேடி கண்டுபிடித்து பயனரினுடைய உலாவிக்கு அனுப்பி வைக்கிறது. இவையனைத்தும் இணையத்தின் மூலம் கனக்கச்சிதமாக நடைபெறும்.
இணைய வழங்கி வலைப்பக்கத்தின் உள்ளடக்கங்களைப் பற்றி எந்த கவலையும் கொள்ளாது. கேட்ட பக்கத்தினை உலாவிக்கு கொடுப்பதோடு சரி வழங்கியின் வேலை முடிகிறது. உலாவிதான் உள்ளடக்கங்களை காண்பிக்கும் செயல்களில் ஈடுபடுகிறது.
HTML, CSS, JavaScript, jQuery என பல தொழில்நுட்பங்களைக் கொண்டு இன்றைக்கு இணையதளங்கள் வடிவமைக்கப்படுகின்றன. மேற்காணும் தொழில்நுட்பங்களின் நிரல்வரிகளைத்தான் உலாவிகளால் புரிந்து கொள்ள முடியுமே தவிர. PHP போன்ற நிரல்களை எவ்வாறு காண்பிப்பது என்பது உலாவிக்கு தெரியாது.
ஒரு வலைப்பக்கத்தில் PHP யின் நிரல்கள் இருந்தால், PHP யின் நிரலை உலாவி மறுபடியும் இணைய வழங்கிக்கு அனுப்பி வைக்கும் அந்த நிரல்கள் PHP pre-processing module க்கு அனுப்பி வைக்கப்படும். வலைப்பக்கத்தை வடிவமைத்தவர் என்ன நிரல் எழுதியிருக்கிறாரோ அதற்கான வெளியீட்டை PHP pre-processing module Web Server க்கு அனுப்பி வைக்கும். அதன்பின்பு Web Server ஆனது வலைப்பக்கத்தில் PHP நிரல் இருக்கும் இடத்தில் PHP pre-processing module அனுப்பி வைத்ததை Substitutes செய்யும். அதற்கேற்றாற்போல் உலாவியானது வலைப்பக்கத்தை நமக்கு காண்பிக்கும்.
சுருக்கமாக சொல்ல வேண்டுமானால் ஒரு வலைப்பக்கத்தில் இருக்கும் php நிரல் அந்த உலாவியால் process செய்யப்படாது. php pre-processing module ஆல் process செய்யப்பட்டு அதில் கிடைக்கும் வெளியீட்டைத்தான் உலாவி காண்பிக்கும்.
இதை ஒரு சின்ன உதாரணத்தின் மூலம் காண்போம். கீழ்காணும் நிரலில் <?php ?> எனும் சிறப்புக்குறியீடுகள் இருக்கிறது. இந்த குறியீடுதான் உலாவிக்கு php நிரலை உணர்த்துவதற்கான குறியீடு.
<?php – எனும் குறியீடு php நிரல் ஆரம்பமாவதையும், ?> எனும் குறியீடு php நிரல் முடிவடைவதையும் குறிக்கிறது.
<!–test1.php –>
<!DOCTYPE html>
<html>
<head>
<title>PHP – Learning</title>
</head>
<body>
<h1>Hello PHP!</h1>
<?php
echo “Hello World!”;
echo “<br />”;
echo “Hello PHP!”;
?>
</body>
</html>